1. Technical Field
The present invention relates to the field of computer software and, more specifically, to transcoding web based content from one format to another.
2. Description of Related Art
Internet, also referred to as an xe2x80x9cinternetwork,xe2x80x9d in communications, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary). When capitalized, the term xe2x80x9cInternetxe2x80x9d refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
The Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society, such as the Internal Revenue Service and secretaries of state. Operating costs may be reduced by providing informational guides and/or searchable databases of public records online.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, also called, simply, xe2x80x9cthe Web.xe2x80x9d Other Internet resources also exist for transferring information, such as File Transfer Protocol (FTP), and Gopher. In the web environment, servers and clients effect data transactions using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). Information is formatted for presentation to a user by a standard page description language, the Hypertext Markup Language (HTML). In addition to basic presentation formatting, HTML allows developers to specify xe2x80x9clinksxe2x80x9d to other web resources identified by a Uniform Resource Locator (URL). A URL is a special syntax identifier defining a communications path to specific information. Each logical block of information accessible to a client, called a xe2x80x9cpagexe2x80x9d or a xe2x80x9cweb page,xe2x80x9d is identified by a URL. The URL provides a universal, consistent method for finding and accessing this information by the web xe2x80x9cbrowser.xe2x80x9d A browser is a program capable of submitting a request for information identified by a URL at the client machine. Retrieval of information on the web is generally accomplished with an HTML-compatible browser, such as, for example, Netscape Communicator, which is available from Netscape Communications Corporation.
When a user desires to retrieve a document, such as a web page, a request is submitted to a server connected to a client computer at which the user is located, and may be handled by a series of servers to effect retrieval of the requested information. The selection of a document is typically performed by the user selecting a hypertext link. The hypertext link is typically displayed by the browser on a client as a highlighted word or phrase within the document being viewed with the browser. The browser then issues a hypertext transfer protocol (HTTP) request for the requested documents to the server identified by the requested document""s URL. The server then returns the requested document to the client browser using the HTTP protocol. The information in the document is provided to the client, formatted according to HTML. Typically, browsers on personal computers (PCs), along with workstations, are typically used to access the Internet. The standard HTML syntax of web pages and the standard communication protocol (HTTP) supported by the World Wide Web guarantee that any browser can communicate with any web server.
HTML format and HTTP protocol are not the only standards currently employed over the Web. There are many different data formats and file transfer protocols utilized on the Web. Furthermore, with the proliferation of wireless telephones, personal digital assistants, and other data processing systems with limited processing capabilities, needs for other file transfer protocols and formats have arisen to handle these devices, since these devices cannot handle many of the data formats utilized by other data processing systems. Therefore, transcoding proxy servers have been utilized to translate data formats such that devices configured to utilize different data formats are able to communicate with each other.
However, much of the information now available on the Web are legacy files created before the proliferation of the Internet and the Web. These files are often very large and were not created with the thought that they might someday be transmitted back and forth across the Internet. These files can take a very long time to transmit over the Web, and it can also take a very long time to transcode their contents into a different data format. Therefore, there is a need for an improved method of transcoding data formats and sending information across the web to minimize transmission times.
The present invention provides a method in a data processing system for providing content from a distributed database to a client. In a preferred embodiment, a transcoding proxy server receives a request for content from a client machine. The transcoding proxy server retrieves the content from an originating server. The retrieved content is provided in a first format type. In response to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format type prior to transcoding the content into a second format type, the transcoding proxy server sends the content to the client in the first format type. Furthermore, in response to a determination that the client does not have content-processing software for processing the content in the first format, the transcoding proxy server sends content processing software for the first format type along with the content in the first format type to the client. The transcoding proxy server then transcodes the content from the first format type into the second format type and sends the content in the second format to the client.